#pragma once

#include "SimpleRenderDataHandler.h"
#include "DrawContext.h"

class WeaponManager : public cr::Singleton<WeaponManager>, public SimpleRenderDataRequestHandler
{
public:

	enum EWeaponType
	{
		EWeaponType_Bullet,

		EWeaponType_NumberOf
	};

	void Initialise();
	void Shutdown();
	void Step();
	void Draw(DrawContext& drawContext);

	void AddBullets(cr::Vec4fRef startPos);

private:

	struct BulletRecord
	{
		cr::Vec4f position;
		cr::Vec4f velocity;
	};

	static const cr::uint32_t cMaxBullets = 32;
	std::vector<BulletRecord> bullets;
};